package ar.edu.unsam.algo2.tp2.partido.administrador

import ar.edu.unsam.algo2.tp2.partido.Jugador
import ar.edu.unsam.algo2.tp2.partido.inscripciones.Inscripcion
import java.text.SimpleDateFormat
import java.util.Date

class Propuesta extends Tarea {

	@Property Jugador jugadorQuePropone
	Jugador jugadorPropuesto
	@Property String fecha
	@Property String motivo
	@Property var String nombre
	@Property var int edad
	@Property var Inscripcion inscripcion
	@Property String email

	override aceptar() {
		Administrador::instance.eliminarPendiente(this)
		jugadorPropuesto = new Jugador
	}

	override rechazar() {
		if(motivo == null) throw new RuntimeException("Debe setear el motivo del rechazo")
		if(jugadorQuePropone == null) throw new RuntimeException("Debe setear el jugador propuesto")
		var Date ahora = new Date();
		var SimpleDateFormat formateador = new SimpleDateFormat("dd-mm-yyyy");
		fecha = formateador.format(ahora);
		Administrador::instance.eliminarPendiente(this)
		this.jugadorQuePropone.propuestasRechazadas.add(this)
	}

	def Jugador obtenerJugador() {
		if(jugadorPropuesto == null) throw new RuntimeException("La propuesta no ha sido aceptada")
		jugadorPropuesto.nombre = nombre
		jugadorPropuesto.edad = edad
		jugadorPropuesto.inscripcion = inscripcion
		jugadorPropuesto.email = email
		jugadorPropuesto
	}

}
